热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

结尾|花样_shell编程基础shell入门[B站超哥说shell笔记]

篇首语:本文由编程笔记#小编为大家整理,主要介绍了shell编程基础shell入门[B站-超哥说shell笔记]相关的知识,希望对你有一定的参考价值。文章目录

篇首语:本文由编程笔记#小编为大家整理,主要介绍了shell编程基础shell入门[B站-超哥说shell笔记]相关的知识,希望对你有一定的参考价值。



文章目录


  • 常见基础
  • 一、特殊变量
  • 二、shell子串
    • 2.1 基础内置命令
    • 2.2 shell子串的花样玩法
    • 2.3 变量长度的计算


内容不全,只记录了我认为重要的!!!
酌情参考吖


常见基础

shell脚本–转义和引用
Shell反引号、




(


)






()和


()
的区别


一、特殊变量

$0 #当前文件名
$? #上一条命令的执行结果
# 关于传参
$# #参数个数
$1,$2,...$n #取输入参数值
$! #获取上一次后台执行的程序的PID
$$ #获取当前脚本的PID
$_ #获取上一条命令的最后一个参数


面试:怎样让程序后台执行?


ans:

# 以某shell脚本为例
nohup bash ***.sh & 1> /dev/null

二、shell子串

2.1 基础内置命令

echo #不可以自动识别特殊字符,需要加参数
printf #可以自动识别特殊字符,但是默认不换行
eval #执行多个命令;
exec #不创建子进程,执行后续命令,且执行完毕后,自动exit
export #取环境变量
read #接收命令行输入
shift #参数左移
test #

具体请参考:
shell编程 | shift命令用法笔记,作者:温家三哥
菜鸟教程 | shell -test用法



下面是上述内置命令的详细介绍,如果了解,可以略过。

echo

-n #不换行输出
-e #解析字符串中的特殊字符
\\n #换行
\\r #回车
\\t #制表符
\\b #退格

eval
执行多个命令

eval ls ; cd /home #会先执行 ls 命令;再切换至/home目录

exec

不创建子进程,执行后续命令,且执行完毕后,自动exit

exec date

2.2 shell子串的花样玩法

#不一定常用,记录最常用的几个
$var #返回变量var的值
$#var #返回变量var的长度,有多少个字符
$var:start #返回变量start数值之后的字符
$var:start:length #提取start之后的length限制的字符
$var#word #从变量开头,删除最短匹配的word字串
$var##word #从变量开头删除最长匹配的word字串
$var%word #从变量结尾删除最短的word
$var%%word #从变量结尾删除最长匹配的word
$var/pattern/string #用string代替第一个匹配的pattern
$var//pattern/string #用string代替所有的pattern


解释常用的几个

# 0,1,2,3...
name="helloworld"
$#name # 返回值为10
$name:4 # 返回 world
$name#hello #返回 world
$name%world #返回 hello
$name/hello/fuck #返回 fuckworld

2.3 变量长度的计算


  1. $#name
  2. expr
  3. wc -L
  4. awk


for循环规则


# 多行
for num in 1..100
do
echo $name
done
# 一行
for num in 1..100;do echo $name;done


seq 命令


seq 3
# 1
# 2
# 3
seq -s ":" 3 # 1:2:3

for n in 1..3
do
str=`seq -s ":" 10`
echo $str
done


time命令



推荐阅读
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有